package com.hzy.fivepalace.db.dao.ex;

import java.time.LocalDateTime;
import java.util.List;

import com.hzy.fivepalace.db.vo.admin.AdminVipByRecordsVo;
import org.apache.ibatis.annotations.Param;

import com.hzy.fivepalace.db.domain.DtsOrder;

public interface OrderMapper {

	int addVipSales(Integer vipType);

	/**
	 * 获取会员开通记录
	 * @param userId 用户id(可以查某个用户的)
	 * @param vipType 会员类型(可以查某个类型的会员)
	 * @param mobile 手机号(可以根据手机号搜索)
	 * @param keyWord 关键字(可以匹配用户昵称和手机号)
	 * @return
	 */
	List<AdminVipByRecordsVo> getVipByRecordsList(@Param("userId")Integer userId,@Param("vipType")Integer vipType,@Param("mobile")String mobile,@Param("keyWord")String keyWord);


	/**
	 * 获取某一个用户他推广的某一个会员总数
	 * @param userId
	 * @param vipType
	 * @return
	 */
	Integer getUserVipSumExtendCount(@Param("userId")Integer userId,@Param("vipType")Integer vipType);
	int updateWithOptimisticLocker(@Param("lastUpdateTime") LocalDateTime lastUpdateTime,
			@Param("order") DtsOrder order);

	/**
	 * 根据条件获取入驻店铺的订单
	 * @param userId
	 * @param orderSn
	 * @param orderStatusSql
	 * @param orderBySql
	 * @param brandIdsSql
	 * @return
	 */
	List<DtsOrder> selectBrandOrdersByExample(@Param("userId") Integer userId, @Param("orderSn") String orderSn, @Param("orderStatusSql") String orderStatusSql, @Param("orderBySql") String orderBySql,
			@Param("brandIdsSql") String brandIdsSql);

	/**
	 * 根据订单id获取商品名称
	 * @param orderId
	 * @return
	 */
	String getGoodsNameByOrderId(@Param("orderId") Integer orderId);
}
